package com.suitsoft.ut.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * MD5加密
 *@author Suineg
 */
public class Md5Util {
	/** 日志输出对象 */
	protected final Logger logger = LoggerFactory.getLogger(getClass());
	
	public static String getMD5Str(String str) {      
        MessageDigest messageDigest = null;      
      
        try {      
            messageDigest = MessageDigest.getInstance("MD5");      
      
            messageDigest.reset();      
      
            messageDigest.update(str.getBytes("UTF-8"));      
        } catch (NoSuchAlgorithmException e) {      
            System.out.println("NoSuchAlgorithmException caught!");      
            System.exit(-1);      
        } catch (UnsupportedEncodingException e) {      
            e.printStackTrace();      
        }      
      
        byte[] byteArray = messageDigest.digest();      
      
        StringBuffer md5StrBuff = new StringBuffer();      
      
        for (int i = 0; i < byteArray.length; i++) {                  
            if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)      
                md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));      
            else      
                md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));      
        }      
      
        return md5StrBuff.toString();      
    }     

}

